Different color imaging devices will generally have a different relationship between the device control values for the color imaging device (e.g. RGB or CMY(K)) and the resulting device-independent color that is produced by the color imaging device. As a result, the field of color management has been developed in order to be able to determine the device control signals for a second color imaging device that would produce the same color appearance as a set of device control values for a first color imaging device. This is generally done by developing device models for the first and second color imaging devices that relate the device control signals to corresponding color values in a device-independent color space. Common device-independent color spaces that can be used for this purpose include the well-known CIE XYZ, CIELAB, and CIELUV color spaces. Color appearance spaces such as CIECAM02 can also be used.
A generic color management process is illustrated in FIG. 1. The input to the process is a set of first device control values 10, that produce a desired color on a first color imaging device. For example, they could be RGB code values for a soft-copy video display. A first device color model 11 is used to determine corresponding device-independent color values 12. Commonly the device-independent color values 12 will be in the CIELAB color space, or some other approximately visually uniform color space. Next a second device color model 13 is used to determine a set of corresponding second device color values 14 appropriate for producing the desired color on a second color imaging device. For example, if the second color imaging device is a color inkjet printer, the second device color values 14 would commonly be CMYK code values. In many color management implementations, the first device color model 11 and the second device color model 13 are combined to form a composite color transform 15 that can be used to transform the first device color values 10 directly to the second device color values 14.
One factor that complicates this color transformation process is that color imaging devices will generally have different color gamuts. (The term color gamut refers to the range of colors which can be represented or displayed at some particular stage in an imaging system.) For example, the color gamut of a video display device may be quite different from the color gamut of a particular color printing device. As a result, some of the colors that can be produced by a first color imaging device may be outside of the gamut of the second color imaging device. The question then becomes what should be done with the out-of-gamut colors. Several different methods to handle this problem have been suggested in the past. One approach is to simply maintain the hue angle and lightness for the out-of-gamut colors and clip the chroma to the gamut boundary. Depending on the relative shapes of the color gamuts of the input and output devices, this can sometimes produce unsatisfactory results when the gamut-mapped color is significantly lower in chroma than the input color.
Many variations of gamut-mapping algorithms that maintain the hue and clip out-of-gamut colors to the color gamut surface have been developed. Many of these techniques work by projecting out-of-gamut color toward a point on the neutral axis that is a function of the input color and the shape of the device color gamut.
In U.S. Pat. No. 5,299,291, Ruetz discloses a gamut-mapping method that preserves hue and clips out-of-gamut colors to the surface of the gamut by projecting at a constant angle so as to preserve smooth color transitions. Since the method relies on finding a gamut radius for a certain hue and lightness, problems can results when the gamut contains radial concavities. Therefore, it is necessary to modify the color gamut boundary to eliminate any such radial concavities if they exist. In U.S. Pat. No. 5,574,666, Ruetz et al disclose a variation of this basic method where the gamut projections are applied in a Munsell color space.
In U.S. Pat. No. 5,510,910, Bockman et al. teach determining the relative position of an input color in an input color gamut and transforming it to a color with the same relative position in an output color gamut. This process is accomplished by normalizing the shape of the two color gamuts in a perceptual color space. Although this has the advantage that it more fully utilizes the color gamut of the output device, it has the disadvantage that in-gamut colors can be distorted significantly.
In U.S. Pat. No. 5,883,632, Dillinger teaches a similar gamut method that preserves the relative position of colors within the hue leaves when transforming from an input color gamut to an output color gamut. This technique is still susceptible to significant color distortions for in-gamut colors.
In U.S. Pat. No. 5,696,839, Siegeritz teaches transforming the input color gamut to a standardized intermediate cylindrical color gamut, which is distorted and then transformed to the output color gamut.
In U.S. Pat. No. 5,539,540, Spaulding et al. disclose a gamut-mapping method where an input gamut is warped in such a way that high chroma colors in an input gamut are mapped to user-defined preferred high chroma colors in an output gamut. In U.S. Pat. No. 5,583,666, Ellson et al teach a variation of this method wherein the accuracy of colors in the core of the color gamut can be accurately maintained. The color transforms created using these methods are not guaranteed to map all of the input colors to colors inside the output color gamut. As a result, it may be necessary to apply a “clean-up” gamut-mapping step to deal with any colors that remain outside the output color gamut.
Another gamut-mapping method has been described by Walowit in U.S. Pat. No. 4,941,038, where an in-gamut color is selected having the shortest vector difference from an aim color in a uniform color space. If the uniform color space is CIELAB, this approach is equivalent to determining the device color having the minimum ΔE* color difference to the input color. Variations of this approach involve weighting the hue, lightness and chroma components of the color difference in order to be able to trade off the relative importance of these color attributes. In U.S. Pat. No. 5,731,818, Wan et al. have disclosed another variation of this method where the minimum color difference point is determined subject to user defined tolerances for lightness change and hue shift.
The family of techniques based on determining the minimum color difference have an advantage over techniques that are strictly hue preserving because it is often possible to make a much better color match if the hue is allowed to vary slightly during the gamut-mapping process. However, these techniques can be susceptible to producing artifacts when they are used for color imaging devices having a concave gamut surface. One common problem that is encountered is illustrated in FIG. 2, which shows a cross-section through a concave color gamut 20. The cross-section is taken in the CIELAB color space so that the vertical axis corresponds to the L* value and the horizontal axis corresponds to the a* value. It can be seen that the lower right surface of the concave color gamut 20 (corresponding to colors with positive a* values and dark L* values) is concave. Consider a pair of out-of-gamut colors 22. If a minimum color difference gamut-mapping method is used to map these colors onto the concave color gamut 20, they will be mapped to gamut-mapped colors 24. It can be seen that the gamut-mapped colors 24 are much farther apart than the out-of-gamut colors 22. Consequently, a small color difference in an input image will get mapped to a large color difference in an output image. As a result, this will generally cause a contour artifact in the output image.